When a new system is designed that involves electronics, computers and physical apparatus, it is commonplace now for complex systems to model the prototypical designs using simulation software, to resolve design flaws and generally to improve the system before it is implemented. When such a system includes subsystems of different fundamental types, such as an electronic system coupled with a physical system, each of the subsystems is in conventional approaches modeled independently. This arises in many fields, such as in the design of new automobiles, to name one example. In general, any system that includes at least two of the three categories of subsystems named will have a separate simulation program for each category.
In real implementations of the design, the subsystems interact with and affect one another. The electronics system, on-board computer (and control programs) and physical subsystems (steering, brakes, etc.) of an automobile, for instance, cannot be developed independently of one another, but their relationships and interactions must be analyzed. Thus, it would be useful if the simulation programs for these different subsystems could similarly communicate and interact, to determine the effects that are likely to occur in the final product. Conventionally, simulators created to assist in the design of such subsystems 5 lack this interactiveness.